// 传统的回调
// setTimeout(() => {
//   console.log('开始打印')
// },1500)

// 使用promise
function timeout(ms) {
  return new Promise((reslove,reject) => {
    setTimeout(reslove,ms,'123')
  })
}

timeout(2000).then(value => {
  console.log("第一层" + value);
  return timeout(2000);
})

// timeout(2000).then(value => {
//     console.log("第一层" + value);
//     return timeout(2000);
//   })
//   .then(value => {
//     console.log("第二层" + value);
//     return timeout(2000);
//   })
//   .then(value => {
//     console.log("第三层" + value);
//     return timeout(2000);
//   })
//   .then(value => {
//     console.log("第四层" + value);
//     return timeout(2000);
//   })
//   .then(value => {
//     console.log("第五层" + value);
//     return timeout(2000);
//   })
//   .catch(err => {
//     console.log(err);
//   });

//   async function asyncTimeSys(){
//     await timeout(1000);
//     console.log("第一层异步结束！")
//     await timeout(1000);
//     console.log("第二层异步结束！")
//     await timeout(1000);
//     console.log("第三层异步结束！")
//     await timeout(1000);
//     console.log("第四层异步结束！")
//     await timeout(1000);
//     console.log("第五层异步结束！")
//     return "all finish";
// }
// asyncTimeSys().then((value)=>{
//     console.log(value);
// });
// console.log('看谁先打印')